home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
526-550
/
disk_539
/
pf
/
source
/
pf1.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
4KB
|
106 lines
/*---------------------------------------------------------*
| File: PF.h - #include for PF.c (see there for comments) |
+---------------------------------------------------------+
| Author: Maurizio Loreti, aka MLO or I3NOO. |
| Address: University of Padova - Department of Physics |
| Via F. Marzolo, 8 - 35131 PADOVA - Italy |
| Phone: (39)(49) 844-313 FAX: (39)(49) 844-245 |
| E-Mail: LORETI at IPDINFN (BITNET), or VAXFPD::LORETI |
| (DECnet). VAXFPD is DECnet node 38.257 or 39169 |
| Home: Via G. Donizetti 6 - 35010 CADONEGHE (PD) - Italy |
*---------------------------------------------------------*/
/**
| Other #include's
**/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include "mlo.h"
/**
| Constants to be used in printer initialisation
**/
#define OUTPUT_DEVICE "PAR:" /* Output device */
#define PORTRAIT 0 /* Orientation */
#define LANDSCAPE 1
#define ROMAN 0 /* Style */
#define ITALIC 1
#define P10CPI 0 /* Pitch & Spacing */
#define P12CPI 1
#define P16_67CPI 2
#define P20CPI 3
#define P24CPI 4
#define PROPORTIONAL -1
#define COURIER 3 /* Font */
#define GOTHIC 6
#define TIMES 4101
#define DRAFT 1 /* Quality */
#define LETTER 2
/**
| Other #define's
**/
#define VERSION 1.15 /* Guess what is this ... */
#define LAST_CHANGE 910609
#define LINE_LENGTH 256 /* Input line buffer length */
#define OUTPUT_LENGTH 80 /* Various parameters for the 2-page */
#define SIDE_LENGTH 3 /* mode: output text length, width */
#define SEP_LENGTH 5 /* of the blank borders, space */
#define PAGE_LENGTH 55 /* between pages on sheet, ... */
#define TOTAL_LENGTH (OUTPUT_LENGTH + 2 * SIDE_LENGTH)
#define BUFFER_SIZE (OUTPUT_LENGTH * PAGE_LENGTH)
#define ESC '\x1B' /* Special characters */
#define FORM_FEED '\x0C'
#define H_LINE '\xC4' /* Semigraphic characters (PC-8) */
#define V_LINE '\xB3'
#define NE '\xBF'
#define SE '\xD9'
#define SW '\xC0'
#define NW '\xDA'
#define UP 1 /* Internal flags */
#define DOWN 2
#define SINGLE_PAGE 1
#define LEFT_PAGE 2
#define RIGHT_PAGE 3
/**
| Structures
**/
typedef struct sPageBuffer { /* Page buffer pointers (2-p mode) */
char *line[PAGE_LENGTH];
} PageBuffer;
/**
| Global variables
**/
BYTE Orientation = PORTRAIT; /* Print default: Courier, 10 */
BYTE Style = ROMAN; /* cpi pitch, letter quality, */
short Pitch = P10CPI; /* portrait, roman, 6 lpi, */
short Font = COURIER; /* 12pt high characters. */
BYTE Height = 12;
BYTE Lpi = 6;
BYTE Quality = LETTER;
short PageMode = SINGLE_PAGE;
short nBlanks = 0; /* No leading blanks */
short nTabs = 8; /* Tab stops every 8 characters */
FILE *fp; /* Current input file pointer */
FILE *prt; /* Printer device */
char inBuffer[LINE_LENGTH]; /* Input buffer, and */
char *Buffer = inBuffer; /* our pointer into it. */
PageBuffer *pPB; /* Page buffer (2-page mode) */
short ThisLine; /* Line in the page */